import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 线路-手动信息 */
export interface LinksManual {
          id: number; // ID
          localPortId: number; // 本地端口
          localDeviceId: number; // 本地设备 ID，
          remotePortId: number; // 远端端口 ID
          active?: number; // 路是否激活（1=启用，0=禁用）
          protocol: string; // 协议类型
          remoteHostname: string; // 远端设备主机名
          remoteDeviceId: number; // 远端设备在 LibreNMS 中的 ID
          remotePort: string; // 远端物理端口名称
          remotePlatform: string; // 远端设备平台信息
          remoteVersion: string; // 远端设备系统版本
          manual: string; // 是否手动默认0自动1手动
          isCritical: number; // 是否是关联链路0否1是
          sysname: string; // 名称
          boardId: number; // 画板id
          warningLine: number; // 警戒线
  }

// 线路-手动 API
export const LinksManualApi = {
  // 查询线路-手动分页
  getLinksManualPage: async (params: any) => {
    return await request.get({ url: `/business/links-manual/page`, params })
  },

  getEChartsLinkData: async (params: any) => {
    return await request.get({ url: `/business/links-manual/getEChartsLinkData`, params })
  },

  // 查询线路-手动详情
  getLinksManual: async (id: number) => {
    return await request.get({ url: `/business/links-manual/get?id=` + id })
  },

  // 新增线路-手动
  createLinksManual: async (data: LinksManual) => {
    return await request.post({ url: `/business/links-manual/create`, data })
  },

  // 修改线路-手动
  updateLinksManual: async (data: LinksManual) => {
    return await request.put({ url: `/business/links-manual/update`, data })
  },

  // 删除线路-手动
  deleteLinksManual: async (id: number) => {
    return await request.delete({ url: `/business/links-manual/delete?id=` + id })
  },

  /** 批量删除线路-手动 */
  deleteLinksManualList: async (ids: number[]) => {
    return await request.delete({ url: `/business/links-manual/delete-list?ids=${ids.join(',')}` })
  },

  // 导出线路-手动 Excel
  exportLinksManual: async (params) => {
    return await request.download({ url: `/business/links-manual/export-excel`, params })
  },
}
